dojo.require("esri.map");
dojo.require("esri.toolbars.draw");
dojo.require("dijit.dijit"); // optimize: load dijit layer
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("esri.layers.agstiled");
dojo.require("esri.undoManager");
dojo.provide("myModules.customoperation");
var mymap,toolbar;

//初始化地图
function init(){
    // undoManager = new esri.UndoManager();
    mymap = new esri.Map("map");
    //加载天地图
    dojo.declare("TianDiTiledMapServiceLayer", esri.layers.TiledMapServiceLayer, {
        constructor: function() {
            this.spatialReference = new esri.SpatialReference({ wkid:4326 });
            this.initialExtent = (this.fullExtent =
                new esri.geometry.Extent(-180.0, -90.0, 180.0, 90.0, this.spatialReference));
            this.tileInfo = new esri.layers.TileInfo({
                "rows" : 256,
                "cols" : 256,
                "compressionQuality" : 0,
                "origin" : { "x" : -180,"y" : 90},
                "spatialReference" : {"wkid" : 4326},
                "lods" : [
                    {"level" : 0, "resolution" : 0.703125, "scale" : 295497593.05875},
                    {"level" : 1, "resolution" : 0.3515625, "scale" : 147748796.529375},
                    {"level" : 2, "resolution" : 0.17578125, "scale" : 73874398.264688},
                    {"level" : 3, "resolution" : 0.087890625, "scale" : 36937199.132344},
                    {"level" : 4, "resolution" : 0.0439453125, "scale" : 18468599.566172},
                    {"level" : 5, "resolution" : 0.02197265625, "scale" : 9234299.783086},
                    {"level" : 6, "resolution" : 0.010986328125, "scale" : 4617149.891543},
                    {"level" : 7, "resolution" : 0.0054931640625, "scale" : 2308574.945771},
                    {"level" : 8, "resolution" : 0.00274658203125, "scale" : 1154287.472886},
                    {"level" : 9, "resolution" : 0.001373291015625, "scale" : 577143.736443},
                    {"level" : 10, "resolution" : 0.0006866455078125, "scale" : 288571.86822143558},
                    {"level" : 11, "resolution" : 0.00034332275390625, "scale" : 144285.93411071779},
                    {"level" : 12, "resolution" : 0.000171661376953125, "scale" : 72142.967055358895},
                    {"level" : 13, "resolution" : 8.58306884765625e-005, "scale" : 36071.483527679447},
                    {"level" : 14, "resolution" : 4.291534423828125e-005, "scale" : 18035.741763839724},
                    {"level" : 15, "resolution" : 2.1457672119140625e-005, "scale" : 9017.8708819198619},
                    {"level" : 16, "resolution" : 1.0728836059570313e-005, "scale" : 4508.9354409599309},
                    {"level" : 17, "resolution" : 5.3644180297851563e-006, "scale" : 2254.4677204799655}]
            });
            this.loaded = true;
            this.onLoad(this);
        },
        getTileUrl: function(level, row, col) {
            var levelMap = "";
            if(level<10){
                levelMap = "A0512_EMap";
            }else if(level<12){
                levelMap = "B0627_EMap1112";
            }else if(level<18){
                levelMap = "siwei0608";
            }
            return "http://t1.tianditu.cn/DataServer?T=vec_c&"+levelMap+"&X=" + col + "&Y=" + row + "&L=" + (level*1+1);
        }
    });
    //文字标注
    dojo.declare("TianDiBiaoZhuMapServiceLayer", TianDiTiledMapServiceLayer, {
        getTileUrl: function(level, row, col) {
            return "http://t1.tianditu.cn/DataServer?T=cva_c&X=" + col + "&Y=" + row + "&L=" + (level*1+1);
        }
    });
    //影像地图
    // dojo.declare("TianDiYXMapServiceLayer", TianDiTiledMapServiceLayer, {
    //     getTileUrl: function(level, row, col) {//wmts
    //         return "http://t1.tianditu.cn/DataServer?T=img_c&X=" + col + "&Y=" + row + "&L=" + (level*1+1);
    //     }
    // });

    

    dojo.connect(mymap, 'onLoad', function(theMap) {
        //resize the map when the browser resizes
        dojo.connect(dijit.byId('map'), 'resize', map,map.resize);
//        ShowStationOnMap()
    });

    dojo.connect(mymap, "onLoad", createToolbar);
    mymap.addLayer(new TianDiTiledMapServiceLayer());
    // mymap.addLayer(new TianDiYXMapServiceLayer());
    mymap.addLayer(new TianDiBiaoZhuMapServiceLayer());
    reExtent = new esri.geometry.Extent({"xmin":118.754667,"ymin":32.170577,"xmax":118.98104,"ymax":32.219344,"spatialReference":{"wkid":102100}});
    mymap.setExtent(reExtent);
    //加载天地图结束
}


function createToolbar(themap) {
    //resize the map when the browser resizes
    dojo.connect(dijit.byId('map'), 'resize', mymap,mymap.resize);
    toolbar = new esri.toolbars.Draw(mymap);
    dojo.connect(toolbar, "onDrawEnd", addToMap);
}

function addToMap(geometry) {
    toolbar.deactivate();
    mymap.showZoomSlider();
    console.log(geometry);
    $("form input[name='longitude']").val(geometry.x)
    $("form input[name='latitude']").val(geometry.y)
    switch (geometry.type) {
        case "point":
            var symbol = new esri.symbol.PictureMarkerSymbol("/static/img/mark/HgPin1LargeB.png", 32, 32);

            break;
        case "polyline":
            var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,186,207]), 3);
            break;
        case "polygon":
            var symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([5,184,250]), 2), new dojo.Color([5,184,250,0.25]));
            break;
        case "multipoint":
            var url='';
            url=dojo.byId("sensor").value;
            console.log(url);
            var symbol=new esri.symbol.PictureMarkerSymbol(url, 24, 24);
            console.log(symbol);
            break;
    }
    var graphic = new esri.Graphic(geometry, symbol);
    mymap.graphics.add(graphic);
}

//function ShowStationOnMap() {
//    var stations = [
//    {
//        color :"#333",
//        longtitude:"118.88781139544824",
//        latitude:"32.24010744213899",
//        stationName:"大好人",
//        sId:"山fff东",
//        countryName:"中国",
//        projectName:"诸城",
//        imageUrl:"/static/img/mark/PbPin1LargeB.png"
//
//    },
//    {
//        color:"#65036b",
//        longtitude:"118.85781130544824",
//        latitude:"32.24010744213899",
//        stationName:"大fff好人",
//        sId:"山东",
//        countryName:"中fff国",
//        projectName:"诸城",
//        imageUrl:"/static/img/mark/AsPin1LargeB.png"
//
//    },
//    {
//        color :"#333",
//        longtitude:"118.85781139544824",
//        latitude:"32.21110744213899",
//        stationName:"大好人",
//        sId:"山fff东",
//        countryName:"中国",
//        projectName:"诸城",
//        imageUrl:"/static/img/mark/HgPin1LargeB.png"
//
//    },
//    {
//        color :"#333",
//        longtitude:"118.84781139544824",
//        latitude:"32.25010744213899",
//        stationName:"大好人",
//        sId:"山fff东",
//        countryName:"中国",
//        projectName:"诸城",
//        imageUrl:"/static/img/mark/CdPin1LargeB.png"
//
//    },
//    {
//        color :"#333",
//        longtitude:"118.86781139544824",
//        latitude:"32.22010744213899",
//        stationName:"大好人",
//        sId:"山fff东",
//        countryName:"中国",
//        projectName:"诸城",
//        imageUrl:"/static/img/mark/CrPin1LargeB.png"
//
//    }
//    ];
//    // 清除图中的元素
//　　mymap.graphics.clear();
//    // 设置显示中心点及坐标
//　　var location = new esri.geometry.Point(stations[0].longtitude, stations[0].latitude, mymap.spatialReference);
//　　mymap.centerAndZoom(location, 8);
//    // 逐个添加元素
//    for (var s = 0; s < stations.length; s++) {
//　　    var symbol = new esri.symbol.PictureMarkerSymbol(stations[s].imageUrl, 32, 32);
////        var symbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color(stations[s].color), 4), new dojo.Color(stations[s].color));
//        var pt = new esri.geometry.Point(stations[s].longtitude, stations[s].latitude, mymap.spatialReference);
//        // 每个元素的属性值
//　　    var attr = { "stationName": stations[s].stationName, "sId": stations[s].sId, "countryName": stations[s].countryName, "projectName": stations[s].projectName,"buildYear": stations[s].buildYear };
//        // 点击该元素时的信息窗
//　　    var infoTemplate = new esri.InfoTemplate("${stationName}", "站点编号: ${sId}<br/>所属项目: ${projectName}  <br/>所属区县: ${countryName}<br/>建成年份:${buildYear}<div><a href='javascript:ShowDetailStationPanel(" + stations[s].sId + ")'>查看详情</a> </div>");
//        var graphic = new esri.Graphic(pt, symbol, attr, infoTemplate);
//        mymap.graphics.add(graphic);
//    }
//
//}

dojo.addOnLoad(init);